an=2^n,求Sn

来源:百度知道 编辑:UC知道 时间:2024/07/16 16:36:24
an=2^n,求Sn

a1 = 2
q = 2
可推导出Sn = a1 * (1 - q^n) / (1 - q) = 2 * (1 - 2^n) / (1 - 2);
= -2 * (1 - 2^n);

如果写程序计算请注意溢出问题。

我编写了一个,手动输入n的值。因为只需要完成一个功能,没有使用函数的形式,全部在主函数内完成。代码比较规范整洁,请仔细阅读。

#include<stdio.h>
int main()
{
double an,sn;
int n,i;

an=2;
sn=0;

printf("Input n:");
scanf("%d",&n);

for (i=1;i<=n;i++)
{
sn+=an;
an*=2;
}

printf("Sn=%.0f\n",sn);

return 0;
}

long sn(long n){
if(n==1) return 2;
else return sn(n-1)+an(n);
}

long an(int n){
long a=1;
for(int i=0;i<n;i++) a*=2;
}

Sn = (2^(n+1) - 1)